extends Node2D

func setup(value: float, is_crit: bool):
	# 设置文本内容
	$Text.text = str(floor(value))
	scale = Vector2(0.5, 0.5) if is_crit else Vector2(0.3, 0.3)
	# 根据暴击设置样式
	if is_crit:
		$Text.add_theme_font_size_override("font_size", 32)
		$Text.add_theme_color_override("font_color", Color.GOLD)
	else:
		$Text.add_theme_font_size_override("font_size", 16)
		$Text.add_theme_color_override("font_color", Color.WHITE)

	# 动画设置
	var tween = create_tween().set_parallel(true)

	# 位移动画（缩短移动距离）
	tween.tween_property(self, "position:y", position.y - 32, 0.4)
	# 缩放动画
	tween.tween_property(self, "scale",
		Vector2(1.8, 1.8) if is_crit else Vector2(1.2, 1.2),
		0.2
	).set_trans(Tween.TRANS_BOUNCE)
	# 淡出动画
	tween.tween_property(self, "modulate:a", 0.0, 0.4)

	# 动画结束后自动销毁
	tween.chain().tween_callback(queue_free)
